There are many digital control methods used in digital communication systems. The performance of such systems is usually measured in terms of Bit Error Rate (BER). Adaptive filtering and clock recovery are two common examples of digital control methods. Such digital control methods, or adaptation methods, can be found in many diverse fields including telecommunications (wireless and wireline), biomedical systems, industrial control, storage media, etc. Adaptive filtering in particular is a common and powerful function that finds use in a wide variety of applications. One such important application is the basic communication problem in which information has to be sent from one place to another. When the applied filter is used to compensate for the effects of the channel across which the information was sent, it is typically referred to as an equalizer. A major source of error in information transmission is intersymbol interference (ISI), which arises when a signal is sent across a dispersive channel. Dispersive channels tend to spread the energy of a transmitted signal out over time, which means both past and future symbols can interfere with the current symbol.
To further illustrate ISI, consider a transmitted signal, t, which is sent across a dispersive channel with impulse response h. The received signal, x, is given by:
                              x          k                =                                            ∑              n                        ⁢                                                  ⁢                                          h                n                            ⁢                              t                                  k                  -                  n                                                              =                                                    h                0                            ⁢                              t                k                                      +                                          ∑                                  n                  <                  0                                            ⁢                                                          ⁢                                                h                  n                                ⁢                                  t                                      k                    -                    n                                                                        +                                          ∑                                  n                  >                  0                                            ⁢                                                          ⁢                                                h                  n                                ⁢                                  t                                      k                    -                    n                                                                                                          Eqn        ⁢                                  ⁢        1            
The second term in Equation 1 arises from the precursor component of the channel impulse response, and allows future symbols to interfere with the current symbol. The third term in Equation 1 arises from the postcursor component of the channel impulse response, and allows previous symbols to interfere with the current symbol. Fortunately, equalization can be used to reduce or remove these components. However, one oftentimes has no prior knowledge of the channel characteristics, making it difficult to define the optimum filter. To overcome this problem, filters are often made adaptive, thus allowing them to “learn” the channel characteristics. The adaptive transversal filter is a fundamental component in adaptive equalization applications, and is a well-understood non-recursive structure. It operates in the discrete time domain and has a finite impulse response (FIR).
A generalized block diagram of a typical adaptive transversal filter is shown in FIG. 1. For convenience, the input history and coefficients are expressed as column vectors:Xk=[xk xk−1 . . . xk−N]T  Eqn 2Wk=[w0k w1k . . . wNk]T  Eqn 3where the superscript T denotes transpose. Coefficient adaptation is performed based on the desired response, dk, and the filter output, yk. The value dk is often a training (pilot) signal, which is essentially a copy of the transmitted sequence stored in the receiver, or the hard decisions of a Decision Feedback Equalizer (DFE). Commonly used adaptation methods attempt to minimize the mean-square error, E[εk2], where the error signal is given by:εk=dk−yk=dk−WkTXk  Eqn 4
Expanding the square of the error signal gives:
                                                                        ɛ                k                2                            =                            ⁢                                                (                                                            i                      k                                        -                                                                  W                        k                        T                                            ⁢                                              X                        k                                                                              )                                2                                                                                        =                            ⁢                                                d                  k                  2                                +                                                      W                    k                    T                                    ⁢                                      X                    k                                    ⁢                                      X                    k                    T                                    ⁢                                      W                    k                                                  -                                  2                  ⁢                                      d                    k                                    ⁢                                      X                    k                    T                                    ⁢                                      W                    k                                                                                                          Eqn        ⁢                                  ⁢        5            
To produce a reasonably simplified expression for the mean-square error, the following assumptions can be made: Wk is fixed; and Xk, dk, and ek are statistically wide-sense stationary.
With these assumptions, the mean-square error reduces to:E[εk2]=E└dk2┘+WTE[XkXkT]W−2E[dkXkT]W  Eqn 6
From Equation 6, it is clear that the mean-square error is a quadratic function of the coefficient vector W. This quadratic function is referred to as the error surface, and it contains a global minimum at the optimal coefficient vector. The task of the adaptation engine is to walk the coefficients down the error surface to a point as close as possible to the optimal solution (the global minimum). There are a variety of basic methods available to converge the coefficient vector to the optimal solution, including Newton's method, the steepest descent method, least-mean square (LMS) method, and recursive least squares (RLS) method. LMS is one of the most commonly used methods due to its ease of computation. LMS achieves its simplicity by approximating the mean-square error, E[εk2], with εk2, leading to the following coefficient update equation:Wk+1=Wk+μεkXk  Eqn 7In the Equation 7, μ is a step-size scalar that can be used to control convergence rate and steady-state accuracy.
In the above exemplary description, the filter and associated methods operate on real-valued data. The extension to complex-valued data and coefficients is well known in the art and should be understood as also included in the scope of the present disclosure. Similarly, in the exemplary description, the optimal coefficient vector is chosen as the one that minimizes the mean square error between the filter output and the desired response. When the desired response, dk, is unknown, adaptation must be done in blind mode. There are many methods capable of blindly converging an adaptive filter, and they all make use of higher-order statistics of the filter's input. Some prominent methods include Sato's method and the Constant Modulus Algorithm (CMA).
An alternative to the feedforward transversal filter, known as the Decision Feedback Equalizer (DFE) has been known for several decades and includes improved performance to its linear counterpart. DFE was later modified to be adaptive. Adaptive DFEs typically use adaptive transversal filters in feedback, and sometimes feedforward, roles, as shown in FIG. 2. The role of the feedforward section is to reduce the precursor component of the ISI, while the feedback section reduces the postcursor component. In a traditional symbol-rate DFE, corrections are made for precursor and postcursor components spaced at integer multiples of the symbol period, T. For example, a DFE with N feedback taps can correct for postcursor components that occur at spacings of T, 2T, . . . , NT from the current symbol. DFEs can be implemented in analog or digital form. A digital implementation requires analog-to-digital conversion of the filter's input signal. DFEs are often operated in decision-directed mode, which uses the output of the decision device as the desired signal. In this case, the error signal is given by the difference between the decision device's output and input. This is advantageous, as it doesn't require a training signal to converge the adaptation engine, although convergence is inherently more difficult. A block diagram for a decision-directed DFE is shown in FIG. 3.
In FIG. 3, a common error signal and adaptation engine are used to adapt both feedforward and feedback sections. The generation of this error signal can be challenging, as in an analog implementation it is necessary to sample and hold and then scale the soft decisions (input of the decision device) before subtracting them from the hard decisions (output of the decision device). This makes sure the delay through the decision device is accounted for, and also prevents the hard decisions from swamping the small signal level of the soft decisions.
Fractionally Spaced Equalizers (FSEs) are transversal equalizers (used as a linear equalizer or the feedforward portion of a DFE) whose taps are spaced at some fraction of the symbol period. A typical choice is T/2 spacing, which allows correction of both the in-phase instant and the quadrature instant in the channel impulse response. For an ideal, jitter-free sampling clock, equalization of anything but the ideal in-phase sampling instant provides no improvement in performance. However, when a realistic, jittered clock is considered, the true sampling instant slides around the ideal point. Because of this, there is advantage in providing equalization across the entire symbol period. Thus in realistic systems, FSEs provide superior performance to symbol-rate equalizers.
Timing/clock recovery in digital communications systems is necessary when only data is transmitted across a channel. In this situation, recovering the data symbols from the distorted received signal requires sampling that data with a symbol-rate recovered clock. For good data recovery (low BERs), the phase of the recovered clock must be well placed (typically at the center of the received ‘eye’ shown by FIG. 4). In an ideal, infinite-bandwidth system, clock recovery would not be terribly important, as the received eye would be completely open. In other words, one could place the recovered clock phase at virtually any phase and expect to sample the correct data. However, in a realistic, band-limited system, the eye closes to an extent dependent on the channel, the additive noise, and other factors. In such instance, good data recovery can only be achieved with certain recovered clock phases. This is illustrated in FIG. 4.
In FIG. 4, the ISI caused by the channel has produced a multitude of received signal trajectories that vary in amplitude and time (the vertical and horizontal ‘fuzz’). The approximate optimum phase for the recovered clock is identified by the arrow. The hatched area marks clock phases that would produce very high BERs; the horizontal width of this region is referred to as the “jitter” of the received signal. For a symmetrical eye, the optimum phase is 0.5 Unit Intervals (UI) away from the mean of the zero crossings, all of which occur in the hatched region. The ultimate goal of a clock recovery block is to lock the phase of the recovered clock as close as possible to the optimum phase. There are many methods of accomplishing this goal, some of which are analog in nature (e.g., phase locked loop (PLL) based recovery) and some of which are digital in nature (e.g., a symbol-rate early/late method). Virtually all these methods use an adaptive, closed-loop approach.
Digital clock recovery methods make use of samples of the received signal to find the optimum phase. The most common approaches use two clocks, an in-phase clock and a quadrature clock, which are offset from one another in phase by 0.5 UI. With the samples produced by these two clocks, the mean of the zero crossings can be determined. The in-phase clock is then placed 0.5 UI away from this position.
One known architecture for such a digital clock recovery system is shown in FIG. 5. ICLK and QCLK, two clocks offset by 0.5 UI, are used to create the in-phase and the quadrature samples respectively. These samples are processed by the Clock Recovery Adaptation Engine, which determines the phase of two clocks. The Adaptation Engine controls the Phase Interpolator, which takes a set of externally generated clocks and interpolates between them to achieve the desired phases for ICLK and QCLK. Another point to note is that the receiver and transmitter ends of a digital communication channel may be clocked with different references. In such instances, a frequency offset can exist and may require a more advanced Clock Recovery Adaptation Engine with a frequency compensation loop. This is a fairly common architecture, but it is merely one example of many.
It is a well-known problem that data-pattern autocorrelations can reduce the convergence rate of various adaptive methods, in particular the LMS method. Without autocorrelations, the method arrives at one solution in a certain period of time; with autocorrelations, it may arrive at a different solution and may take longer to arrive there. Autocorrelation is defined as the cross-correlation of a signal with itself over varying intervals of time or space. As such, autocorrelation may involve the expectation of the multiplication of two random variables, which are obtained by observing a single random process at different points in time:Rx(τ)=E[X(t)X(t+τ)]  Eqn 8
In Equation 8, Rx represents the autocorrelation, X(t) the random process, and τ the time separation between the two observations. When operating in the discrete-time domain, this equation can be restated as:Rx(n)=E[XkXk+n]  Eqn 9
Equation 9 can be easily applied to the digital communications problem: Xk is a random variable representing the kth bit in the transmitted stream, and Xk+n a random variable representing the bit sent n-bits later (or earlier if n is negative).
Consider a two-level digital communications system in which the transmitted bit sequence is perfectly random. That is, each bit has a 50% probability of being chosen a +1, 50% probability of being chosen a −1, and each bit is independent of all other bits. In this case, Equation 9 reduces to zero except for n=0. The autocorrelations are zero.
In most digital communications systems, the transmitted bit sequence is not random. Bits are related to one another. As a specific example, consider the following conditional probabilities:P(next bit=+1|current bit=+1)=0.25P(next bit=+1|current bit=−1)=0.75P(next bit=−1|current bit=+1)=0.75P(next bit=−1|current bit=−1)=0.25  Eqn 10
In this case, each bit depends on the previously transmitted bit. This is a basic example of data-pattern autocorrelation, for which Equation 9 would have a non-zero result when n=1 (along with n=0). If no autocorrelations were present in the bit stream, all the probabilities in Equation 10 would be 0.5.
Many attempts have been made to ‘whiten’ the received data to improve the performance of Adaptation Engines used in Adaptive Filtering applications—whitening is an alternate term for removing data-pattern autocorrelations. These attempts have largely focused on passing the data through linear filters. They are typically complex, require a great deal of additional computational overhead, and are imperfect in the quality of whitening they achieve. Many other known approaches attempt to measure the autocorrelations and do something with the information. For example, coefficients are only updated when the autocorrelation is deemed to be a low enough value. In other approaches, autocorrelations are estimated and that information is used to improve the system performance.
Clock Recovery applications exist that align the recovered clock phase based on a subset of the received data samples. Known approaches in this field are represented by the following public domain publications, each of which is incorporated by reference in its entirety: Douglas, S. C. et al. “Self-Whitening Methods for Adaptive Equalization and Deconvolution,” Signal Processing, IEEE Transactions on [see also Acoustics, Speech, and Signal Processing, IEEE Transactions on], Volume: 47, Issue: 4, pp. 1161-1165, April 1999; Besbes, H. Ben Jebara, S. “The pre-whitened NLMS: a promising method for acoustic echo cancellation,” Electronics, Circuits and Systems, 2002. 9th International Conference on, Volume: 3, 15-18, pp. 875-878, September 2002; Ting Liu, Gazor, S. “Decorrelated methods for faster adaptation,” Signal Processing, 2002 6th International Conference on, Volume: 1, 26-30, pp. 301-304, August 2002; Japanese Patent Abstract 7321715A2: “Data Receiver,” published Jan. 1, 2000; U.S. Pat. No. 5,414,699: “Method and apparatus for receiving and decoding communication signals in a CDMA receiver using partial de-correlation,” issued May 9, 1995; U.S. Pat. No. 5,559,840: “Digital timing recovery method and apparatus for a coded data channel,” issued Sep. 24, 1996.
There are many digital control methods used in digital communication systems, whose performance is measured in terms of Bit Error Rate (BER). Adaptive filtering and clock recovery are two common examples. As will be shown, these methods may be impaired by the presence of data-pattern autocorrelations.
Data-pattern autocorrelation is given by:Rx(n)=E[XkXk+n]  Eqn 11
When data-pattern autocorrelation is not present, Equation 11 reduces to:Rx(0)=1Rx(n)=0 n≠0  Eqn 12
When data-pattern autocorrelations are present, one or more of the terms for which n≠0 is non-zero. Data-pattern autocorrelations can result from a number of factors, such as the use of coding or the transmission of a repeating sequence. Two examples will be used to demonstrate the impact of autocorrelations on adaptive digital methods. As a first example, consider a DFE with only a feedback transversal filter, which itself can be shown to be essentially equivalent to the configuration shown in the block diagram of FIG. 6.
As is the norm, assume that the equalizer is operating in near-lock (steady-state) conditions where the decision feedback filter input tfb is approximately equal to the original binary channel input data t (due to correct slicing at the decision device). In this case, it is well-known in the art that the performance of the feedback transversal filter in terms of convergence and steady-state error is dependent on the autocorrelation matrix of the binary source data x and that the more correlated the input data, the more non-ideal the performance of the filter. Eliminating or reducing these autocorrelations can improve the performance of such a DFE.
To illustrate this, consider a 2-tap, decision-directed DFE system that is adapted using the LMS method to cancel post-cursor ISI. Some important signals in such a system are: the first and second post-cursor coefficient weights, W=[w1 w2]T, the transmitted data pattern, t(tkε{−1,+1}), and the channel impulse response, h. For an ideal channel, the pre and post-cursor interferers are zero, and the impulse response is given by h=[ . . . 0 0 h0 0 0 . . . ]T. A bit tk transmitted through such a channel will result in the ideal received signal: tk*h0. However, in a realistic channel the pre and post-cursor terms in the impulse response are non-zero, leading to a deviation from the ideal received signal, which is represented by the error signal, ε.
For simplicity, consider a channel with a single pre-cursor term and two post-cursor terms, yielding the following expression for the error signal:
                                                                                             ɛ                  k                                =                                ⁢                                                                                                                              [                                                      t                                                          k                              +                              1                                                                                                                                                                            t                          k                                                                                                                      t                                                      k                            -                            1                                                                                                                                                                                                          t                                                              k                                -                                2                                                                                      ]                                                    ⁡                                                      [                                                                                                                                                                h                                                                          -                                      1                                                                                                                                                                                                                                                                        h                                    0                                                                                                                                                                                                                                                                          h                                      1                                                                        -                                                                          w                                      1                                                                                                                                                                                                                                                                                                              h                                      2                                                                        -                                                                          w                                      2                                                                                                                                                                                            ]                                                                                                                                -                                                            t                      k                                        ⁢                                          h                      0                                                                                                                                              =                                ⁢                                  [                                                                                                              t                                                      k                            +                            1                                                                                                                                                t                                                      k                            -                            1                                                                                                                                                                                                          t                                                              k                                -                                2                                                                                      ]                                                    ⁡                                                      [                                                                                                                                                                h                                                                          -                                      1                                                                                                                                                                                                                                                                                                              h                                      1                                                                        -                                                                          w                                      1                                                                                                                                                                                                                                                                                                              h                                      2                                                                        -                                                                          w                                      2                                                                                                                                                                                            ]                                                                                                                                                                                                        Eqn          ⁢                                          ⁢          13                    
The LMS coefficient update equation is given by:Wk+1=Wk+μεkTk  Eqn 14Tk=[tk−1 tk−2]  Eqn 15and the steady-state solution thereof requires the following:E[εktk−1]=0E[εktk−2]=0  Eqn 16
Then the steady-state solution of coefficient w1 becomes:
                    E        [                  [                                                                      t                                      k                    +                    1                                                                                                t                                      k                    -                    1                                                                                                                                                                                                                        t                                                          k                              -                              2                                                                                ]                                                ⁡                                                  [                                                                                                                                                      h                                                                      -                                    1                                                                                                                                                                                                                                                                                            h                                    1                                                                    -                                                                      w                                    1                                                                                                                                                                                                                                                                                            h                                    2                                                                    -                                                                      w                                    2                                                                                                                                                                                ]                                                                    ⁢                                              t                                                  k                          -                          1                                                                                      ]                                    =                  0                                                                                        Eqn        ⁢                                  ⁢        17                                                                    h                              -                1                                      ⁢                          E              ⁡                              [                                                      t                                          k                      +                      1                                                        ⁢                                      t                                          k                      -                      1                                                                      ]                                              +                                    (                                                h                  1                                -                                  w                  1                                            )                        ⁢                          E              ⁡                              [                                  t                                      k                    -                    1                                    2                                ]                                              +                                    (                                                h                  2                                -                                                      w                    2                                    ⁢                  k                                            )                        ⁢                          E              ⁡                              [                                                      t                                          k                      -                      2                                                        ⁢                                      t                                          k                      -                      1                                                                      ]                                                    =        0                            Eqn        ⁢                                  ⁢        18            
The expected value of the middle term reduces to a value of 1. Using the notation of Equation 9, Equation 18 becomes:h−1RD(2)+(h1−w1)+(h2−w2)RD(1)=Eqn 19
For an uncorrelated data pattern, RD(1) and RD(2) are zero, and Equation 19 reduces to the optimal solution: w1=h1. For data pattern with autocorrelations, an error is introduced by h−1 and coupling is introduced between the two coefficients w1 and w2. The former causes steady state error, and the latter can result in slow adaptation.
As a second example, consider a digital clock recovery system that uses one of the digital control methods mentioned in a previous section. Data-pattern autocorrelations are detrimental to these methods, which can be demonstrated in an intuitive manner.
To begin this demonstration, consider the construction of a system with a low-pass channel characteristic. For such a channel, it is expected that the inner trajectories of the eye diagram (see FIG. 4) result from sections of the data pattern with high transition density, the extreme case of which is a [+1,−1,+1,−1,+1 . . . ] pattern. One would expect this because the higher transition density implies a higher frequency content, which is more significantly attenuated by the low-pass channel. The inner trajectories have zero-crossings that occur ‘early’ in the eye. The opposite is true low transition density sections.
In many of the digital clock recovery methods, the recovered clock phase is determined by finding the average zero-crossing point of the received signal. If the distribution of zero-crossings is altered, then the recovered clock phase can shift. For the case of an extended section of high transition density, the average zero crossing tends to shift earlier in the eye. This results in a sub-optimal recovered clock phase, which can lead to bit errors when the pattern shifts back to a low transition density region. The same impairment is caused by a long section of low transition density, except that the average zero crossing tends to shift to a point later in the eye. The concepts of high and low transition density regions are merely specific examples of data-pattern autocorrelations, though other types of data-pattern autocorrelations lead to similar effects.
Thus, it has been shown how data-pattern autocorrelations can impair two specific systems. However, they can also have detrimental effects on other digital systems, and the use of these examples is in no way intended to be limiting.
It is, therefore, desirable to provide an improved method and apparatus for reducing data pattern autocorrelation.